package com.example.missingpersons.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.io.Serial;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

/**
 * family_member 实体类
 * @author 张芸博
 * @since 2025-03-12
 */
@Data
@AllArgsConstructor
@TableName("family_member")
public class FamilyMember implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 家属的唯一标识
     */
    @TableId(value = "family_member_id", type = IdType.AUTO)
    @Schema(name = "family_member_id", description = "家属的唯一标识")
    private Integer familyMemberId;

    /**
     * 关联的失踪人员ID
     */
    @Schema(name = "person_id", description = "关联的失踪人员ID")
    private Integer personId;

    /**
     * 家属姓名
     */
    @Schema(name = "name", description = "家属姓名")
    private String name;

    /**
     * 与失踪人员的关系（如：父亲、母亲、兄弟姐妹等）
     */
    @Schema(name = "relationship", description = "与失踪人员的关系（如：父亲、母亲、兄弟姐妹等）")
    private String relationship;

    /**
     * 家属联系方式
     */
    @Schema(name = "contact_info", description = "家属联系方式")
    private String contactInfo;

    /**
     * 家属住址
     */
    @Schema(name = "address", description = "家属住址")
    private String address;

    /**
     * 记录创建时间
     */
    @Schema(name = "created_at", description = "记录创建时间")
    private LocalDateTime createdAt;

    /**
     * 记录更新时间
     */
    @Schema(name = "updated_at", description = "记录更新时间")
    private LocalDateTime updatedAt;


}
